package com.terabits.smartriver.service;

import com.terabits.smartriver.meta.po.Concentration;
import com.terabits.smartriver.meta.po.Treatment;
import com.terabits.smartriver.util.PageData;

import java.util.Date;

public interface CalculationService {

    /**
     * 上报数据处理
     *
     * @param boxNum
     * @param boxInterface
     * @param data
     * @param closeTime
     * @param breakTime
     * @param createTime
     */
    void reportProcessing(String boxNum, String boxInterface, Object data, String closeTime, String breakTime, String createTime);

    /**
     * 数据上报后的告警判断【暂时用不到，改为定时检查报警】
     *
     * @return
     */
    int checkWarning(String deviceNum);

    /**
     * 检查单个模型
     *
     * @param modelDevice
     */
    void checkSingleModel(PageData modelDevice);

    /**
     * 计算处理水量
     *
     * @param beginTime
     * @param endTime
     * @param projectNum
     * @return
     */
    String treatmentOfWater(String beginTime, String endTime, String projectNum);

    /**
     * 将设备状态改为异常中
     *
     * @param type       0检查更新状态。1状态更改为异常
     * @param deviceNums
     */
    void updateDeviceStatus(Integer type, String[] deviceNums);

    int addTreatment(Treatment treatment);

    PageData getTreatment(String beginTime, String endTime, String projectNum);

    Integer getTreatment(String projectNum);

    Concentration getConcentration(String projectNum,String Date,Integer type);
    Concentration getConcentrationOne(String projectNum, Integer type);
}
